package com.kexio.enterprise.observability.health.listener;

import com.kexio.enterprise.observability.health.enums.HealthStatus;
import com.kexio.enterprise.observability.health.result.HealthCheckResult;

/**
 * 健康状态监听器
 * 
 * @author Kexio
 * @since 1.0.0
 */
public interface HealthStatusListener {
    /**
     * 健康状态变化时触发
     * 
     * @param componentName 组件名称
     * @param oldStatus     旧状态
     * @param newStatus     新状态
     * @param result        检查结果
     */
    void onHealthStatusChanged(String componentName, HealthStatus oldStatus, 
                             HealthStatus newStatus, HealthCheckResult result);
}
